●処理時間順方式とは
処理時間が短いタスクから優先的に実行するスケジューリング方式。
●出題された回(平成29年度春期以降)
平成31年度春期
処理時間順方式の説明
処理時間順方式とは、処理時間が短いタスクから優先的に実行するスケジューリング方式です。
次のような3つのタスクが同時に到着したとき、
- タスクA・・・処理時間5秒
- タスクB・・・処理時間8秒
- タスクC・・・処理時間6秒
処理時間順方式が採用されていれば、処理時間が短いものから実行されるので、
タスクA → タスクC → タスクB
の順番で処理が実行されます。
処理時間順方式のメリット・デメリット
メリット
処理時間順方式のメリットは、平均ターンアラウンドタイムを最小に出来ることです。
ターンアラウンドタイムとは、システムに処理要求を行ってから実行されるまでの時間です。
同時に1つのタスクしか実行できないシステムに、次のタスクA~Cが到着したとき、
- タスクA・・・処理時間5秒
- タスクB・・・処理時間8秒
- タスクC・・・処理時間6秒
タスクA→タスクB→タスクCの順番で実行すれば、それぞれのターンアラウンドタイムは、タスクAが5秒、タスクBが13秒、タスクCが19秒となり、平均ターンアラウンドタイムは12.3秒となります。
しかし、処理時間順方式を採用したときは、タスクA→タスクC→タスクBの順番で実行されるので、それぞれのターンアラウンドタイムは、タスクAが5秒、タスクCが11秒、タスクBが19秒となり、平均ターンアラウンドタイムは11.7秒となります。
色々試してもらえれば分かると思いますが、最も平均ターンアラウンドタイムが短くなるのは処理時間順方式を採用した時になります。
デメリット
デメリットは、処理時間が長いタスクはずっと処理されないことと、実際の処理時間を予測するのは困難なので実現が難しいことです。
メリット :平均ターンアラウンドタイムを最小に出来る
デメリット:処理時間が長いタスクはずっと処理されない
実際の処理時間を予測することは困難で実現が難しい
過去問
応用情報技術者 午前試験
平成31年度春期問16
五つのジョブA~Eに対して、ジョブの多重度が1で、処理時間順方式のスケジューリングを適用した場合、ジョブBのターンアラウンドタイムは何秒か。ここで、OSのオーバヘッドは考慮しないものとする。
![](https://shikaku-dou.com/wp-content/uploads/2022/11/df9573b55df8ecd53a0660504d4ce86a-e1668948464879-1024x430.jpg)
ア 8 イ 9 ウ 10 エ 11
正解は”エ”
ターンアラウンドタイムとは、システムに処理要求を送ってからジョブの実行が完了するまでの時間です。
①0秒時点では、ジョブAしか到着していないのでジョブAを実行します。
![](https://shikaku-dou.com/wp-content/uploads/2022/11/fdde612cbe5af0b2b0b2393575f78111-e1668949401928-1024x146.jpg)
②ジョブAが完了した時点(2秒時点)で、ジョブBとジョブCが待機しています。
ジョブCの方がジョブBより処理時間が短いので、先にジョブCを実行します。
![](https://shikaku-dou.com/wp-content/uploads/2022/11/8bc1a7b6d679cd99cd3c622198b516a0-e1668949712272-1024x292.jpg)
③ジョブCが完了した時点(5秒時点)で、ジョブBとジョブDとジョブEが待機しています。
処理時間が一番短いのはジョブEなので、ジョブEを実行します。
![](https://shikaku-dou.com/wp-content/uploads/2022/11/ca3795f7dedec0f42b86f0a387d933fd-e1668949878470-1024x289.jpg)
④ジョブEが完了した時点(6秒時点)で、ジョブBとジョブDが待機しています。
処理時間が一番短いのはジョブDなので、ジョブDを実行します。
![](https://shikaku-dou.com/wp-content/uploads/2022/11/fb3e0914dcc2ab3b5f7e30ffc5a5a68a-e1668950045695-1024x246.jpg)
⑤ジョブDが完了した時点(8秒時点)で、ジョブBだけが待機しています。
なので、ジョブBを実行します。
![](https://shikaku-dou.com/wp-content/uploads/2022/11/620f15898d31829f84cf46ac21961ca6-e1668950187432-1024x156.jpg)
ジョブBが入力されたのが1秒時点、完了したのが12秒時点なので、
ターンアラウンドタイムは11秒になります。